From: Jasper St. Pierre Date: Thu, 17 Mar 2011 13:37:55 +0000 (-0400) Subject: workspacesView: Fix graphical glitches with windows appearing for a split-second X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8600 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f259162d641e05ae2f3c8abde3cc13491980e28c;p=gnome-shell.git workspacesView: Fix graphical glitches with windows appearing for a split-second When we were knocking off workspace height to fix the ratio problems, we weren't adding spacing in between workspaces, so they smooshed up against each other whenever we took height off, causing them to be visible. --- diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index b37417950..774ea594e 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -51,6 +51,7 @@ WorkspacesView.prototype = { this._height = 0; this._x = 0; this._y = 0; + this._workspaceRatioSpacing = 0; this._spacing = 0; this._lostWorkspaces = []; this._animating = false; // tweening @@ -124,7 +125,7 @@ WorkspacesView.prototype = { this._swipeScrollEndId = 0; }, - setGeometry: function(x, y, width, height) { + setGeometry: function(x, y, width, height, spacing) { if (this._x == x && this._y == y && this._width == width && this._height == height) return; @@ -132,6 +133,7 @@ WorkspacesView.prototype = { this._height = height; this._x = x; this._y = y; + this._workspaceRatioSpacing = spacing; for (let i = 0; i < this._workspaces.length; i++) this._workspaces[i].setGeometry(x, y, width, height); @@ -200,7 +202,7 @@ WorkspacesView.prototype = { Tweener.removeTweens(workspace.actor); let opacity = (this._inDrag && w != active) ? 200 : 255; - let y = (w - active) * (this._height + this._spacing); + let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing); if (showAnimation) { let params = { y: y, @@ -763,9 +765,10 @@ WorkspacesDisplay.prototype = { } height = (fullHeight / fullWidth) * width; - y += (fullHeight - height) / 2; + let difference = fullHeight - height; + y += difference / 2; - this.workspacesView.setGeometry(x, y, width, height); + this.workspacesView.setGeometry(x, y, width, height, difference); }, _onRestacked: function() {